package ma.techit.pfe.agence.voyage.model;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonProperty;



@Entity
@Table(name="Fournisseur")
public class Fournisseur extends BaseEntity{
	
	@Column(name="raisonSociale")
	protected String raisonSociale;
	@Column(name="siteweb")
	protected String siteweb;
	@Column(name="pays")
	protected String pays;
	@Column(name="ville")
	protected String ville;
	@Column(name="telephonefixe")
	protected long telephonefixe;
	@Column(name="fax")
	protected long fax;
	@OneToOne(fetch = FetchType.EAGER, targetEntity = ContactFournisseur.class)
    protected ContactFournisseur contacts;
	
	@OneToMany(fetch = FetchType.EAGER, targetEntity = Service.class)
	protected  Set<Service>  services = new HashSet<Service>();
	
	@JsonProperty("RaisonSociale")
	public String getRaisonSociale() {
		return raisonSociale;
	}
	public void setRaisonSociale(String raisonSociale) {
		this.raisonSociale = raisonSociale;
	}
	@JsonProperty("SiteWeb")
	public String getSiteweb() {
		return siteweb;
	}
	public void setSiteweb(String siteweb) {
		this.siteweb = siteweb;
	}
	@JsonProperty("Pays")
	public String getPays() {
		return pays;
	}
	public void setPays(String pays) {
		this.pays = pays;
	}
	@JsonProperty("Ville")
	public String getVille() {
		return ville;
	}
	public void setVille(String ville) {
		this.ville = ville;
	}
	@JsonProperty("TelephoneFixe")
	public long getTelephonefixe() {
		return telephonefixe;
	}
	public void setTelephonefixe(long telephonefixe) {
		this.telephonefixe = telephonefixe;
	}
	@JsonProperty("Fax")
	public long getFax() {
		return fax;
	}
	public void setFax(long fax) {
		this.fax = fax;
	}
	
	@JsonProperty("Contact")
	public ContactFournisseur getContacts() {
		return contacts;
	}
	public void setContacts(ContactFournisseur contacts) {
		this.contacts = contacts;
	}
	public Set<Service> getServices() {
		return services;
	}
	public void setServices(Set<Service> services) {
		this.services = services;
	}
	@Override
	public String toString() {
		return "Fournisseur [ raisonSociale=" + raisonSociale
				+ ", siteweb=" + siteweb + ", pays=" + pays + ", ville="
				+ ville + ", telephonefixe=" + telephonefixe + ", fax=" + fax
				+ ", contacts=" + contacts + ", services=" + services + ", id="
				+ id + "]";
	}
	
}

